﻿// 139. 回文子串的最大长度.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <string>
#include <cstring>
using namespace std;

/*
https://www.acwing.com/problem/content/141/
如果一个字符串正着读和倒着读是一样的，则称它是回文的。

给定一个长度为 N 的字符串 S，求他的最长回文子串的长度是多少。

输入格式
输入将包含最多 30 个测试用例，每个测试用例占一行，以最多 1000000 个小写字符的形式给出。

输入以一个以字符串 END 开头的行表示输入终止。

输出格式
对于输入中的每个测试用例，输出测试用例编号和最大回文子串的长度（参考样例格式）。

每个输出占一行。

输入样例：
abcbabcbabcba
abacacbaaaab
END


becceaceeccceebeaedadedbaebccb

输出样例：
Case 1: 13
Case 2: 6
*/

//const int N = 2000020;
//int dp[N];
//string str;
//int idx ;
//
//void solve() {
//    int ans = 1;  dp[1] = 1;
//    for (int i = 2; i < str.size(); i++) {
//        dp[i] = 1;
//        int lastlen = dp[i - 1]; int checkidx = (i - 1) - lastlen;
//        if (str[checkidx] == str[i]) {  dp[i] = max(dp[i], dp[i - 1] + 2);  }
//
//     
//
//        ans = max(ans, dp[i]);
//    }
//
//    cout << "Case " << idx << ": " << ans << endl;
//}
//
//
//void AddExtra(const string& tmp) {
//    str = "@#";
//    for (int i = 0; i < tmp.size(); i++) {
//        str.insert(str.end(), tmp[i]);
//        str.insert(str.end(), '#');
//    }
//}


int main()
{
   /* while (1) {
        idx++;
        string tmp;
        cin >> tmp;
        if (tmp == "END") { break; }
        memset(dp,0,sizeof dp);
        AddExtra(tmp);
        solve();
    }*/
    
    return 0;
}
 